package com.shujia.core

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

object Demo04FlatMap {
  def main(args: Array[String]): Unit = {
    // 创建SparkContext

    val conf: SparkConf = new SparkConf()

    conf.setAppName("Demo04FlatMap")
    conf.setMaster("local")

    val sc: SparkContext = new SparkContext(conf)

    val lineRDD: RDD[String] = sc.parallelize(List("hadoop,hive,hbase", "mapreduce,spark,flink", "mapreduce,spark,flink"))

    /**
     * flatMap 转换算子
     * 同map算了类似 需要接收一个函数f
     * 会将RDD中的每一条数据传给函数f
     * 函数f处理之后必须返回一个可以遍历的类型
     * 最终flatMap会将函数f返回的结果进行展开（扁平化处理）
     */
    lineRDD
      .flatMap(line => line.split(","))
      .foreach(println)


  }

}
